/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package xmlaufgabe4;

import java.util.ArrayList;

/**
 * Das Programm soll eine vorgegebene Textdatei einlesen, parsen und die darin
 * enthaltenen Informationen neu strukturiert, wohlgeformt und valide in ein neues
 * XML Dokument schreiben.
 * 
 * @author Adrian Cieluch
 */
public class ConverterMain {

    private ConverterMain(){};

    /**
     * Liest die Kommandozeilenargumente aus und nimmt das erste Argument als Dateipfad
     * der auszulesenden Datei. Laesst die Datei parsen, ein neues XML Dokument
     * generieren und Verworfene Datensaetze anzeigen.
     * 
     * @param args Kommandozeilenparameter
     */
    public static void main(String[] args) {
        ArrayList<Book> books = new ArrayList<Book>();
        ArrayList<DVD> dvds = new ArrayList<DVD>();
        ArrayList<SoundStorage> soundStorages = new ArrayList<SoundStorage>();
        ArrayList<EBook> eBooks = new ArrayList<EBook>();
        
        if(args.length >= 1) {
            CatalogParser parser = new CatalogParser(args[0], books, dvds, soundStorages, eBooks);
            parser.parseFile();
            
            System.out.println("Verworfen\nDVDs: " + parser.getDiscarded()[0] + "\nTontraeger: " + parser.getDiscarded()[1]
                    + "\neBooks: " + parser.getDiscarded()[2] + "\nBuecher: " + parser.getDiscarded()[3]);
            
            XMLWriter writer = new XMLWriter(books, dvds, soundStorages, eBooks);
            writer.writeDocument("Katalog.xml");
        }
    }
}
